1. Field of the Invention
The present invention relates to a method of and an apparatus for designing a code book of linear predictive parameters, and also a method of and an apparatus for coding linear predictive parameters by use of the designed code book, which are used for the vector quantization of the linear predictive parameters for an audio signal (such as a voice signal, a music signal or the like). The present invention further relates to a program storage device readable by such a code book designing apparatus.
2. Description of the Related Art
There is a high efficiency coding method using a vector quantization of integrating an audio signal for each of a plurality of parameters and quantizing each integrated audio signal. A linear predictive parameter is one of important transmission parameters to be coded. In case of vector-quantizing this linear predictive parameter, a code book (i.e., a set of code vectors) is often used, which stores in advance the representative linear predictive parameters in the interval of each sub frame, into which the audio signal divided by each frame is further divided. Then, upon coding the linear predictive parameters, the vector quantization is performed by selecting a linear predictive parameter, whose similarity is the highest among the code book, as the code vector.
By the way, when this type of code book is designed, a training procedure by means of a repeat calculating method is performed with respect to a learning data base, which includes linear predictive parameters supposed to be obtained from an input signal, so that an appropriate code vector is determined respectively. Here, in the actual coding process, the vector quantization of the linear predictive parameters is performed at a predetermined interval of sub frames, because of a restriction of the data amount and the calculation amount. Then, with respect to the sub frames positioned between the sub frames to which the vector quantization is performed (i.e., as for the sub frames to which the vector quantization is not performed), the linear predictive parameters are linear-interpolated. Therefore, in order to match with this way of the vector quantization and the linear interpolation, in the above mentioned training procedure, the optimum code vector is determined so as to minimize the distortion due to the quantization of the linear predictive parameters in accordance with the predetermined interval of sub frames, and then the code book based on the determined code vectors is designed.
However, when designing the code book, if the vector-quantization of the linear predictive parameters is to be performed only at the predetermined interval of sub frames in the above mentioned manner, although it is possible to select the appropriate code vector whose distortion of the quantization is little, the selected code vector is not always the optimum one with considering the existence of the other sub frames positioning between the sub frames to which the vector quantization is performed. Namely, there may be a case that the interpolation value of the linear predictive parameter is not coincident with the value of the genuine linear predictive parameter of the sub frame, resulting in that the distortion becomes large. In such a case, even if the training procedure is conducted by means of the aforementioned repeat calculating method, it is difficult to design the code book which is optimized for all of the sub frames.
On the other hand, in order to solve this problem, it may be tried to perform an evaluation for the quantization distortion as for all of the sub frames, whether or not the vector quantization is to be performed to the sub frames, between the immediate sub frame whose code vector has been just determined and the sub frame whose code vector is to be newly determined, and to use the evaluation result for the evaluation of the quantization distortion of the subsequent sub frame. However, if such a process is performed, although it is possible to perform the vector quantization for a specific sub frame, which reflects the interpolation of its timely preceding sub frame, it is not possible to perform the vector quantization for this specific sub frame, which reflect the interpolation of its timely subsequent sub frame at the moment, resulting in that it is not enough to select the optimum code vector.
It is therefore an object of the present invention to provide: a method of and apparatus for designing a highly efficient code book as a set of code vectors, which can perform a vector quantization of linear predictive parameters by selecting optimum code vectors capable of diminishing distortions of all sub frames which include the sub frames for which the interpolation value of the linear predictive parameters are calculated; a method of and an apparatus for coding the linear predictive parameters highly efficiently by use of the designed code book; and a program storage device readable by the code book designing apparatus.
The above object of the present invention can be achieved by a code book designing method of designing a code book which is a set of code vectors to be selected when linear predictive parameters are vector-quantized as for an input audio which is divided into frames, each of which is further divided into sub frames. The code book designing method is provided with: a calculating processes of calculating the linear predictive parameters of the input audio for the sub frames respectively; a quantizing process of calculating a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio as for the sub frames positioned at a predetermined interval set in advance; an interpolating process of calculating interpolation values for the linear predictive parameters on the basis of the calculated quantization candidates as for the sub frames other than the sub frames positioned at the predetermined interval; and a determining process of determining the code vectors of the code book by selecting the code vectors from among the calculated quantization candidates on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within a range of continuous sub frames in a predetermined number set in advance.
According to the code book designing method of the present invention, when the input audio (e.g., data from a learning data base as an audio signal) is inputted, the linear predictive parameters of the input audio is calculated for the sub frames respectively. Then, as for the sub frames positioned at the predetermined interval, a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio are calculated. On the other hand, as for the sub frames other than the sub frames positioned at the predetermined interval, the interpolation values for the linear predictive parameters are calculated on the basis of the calculated quantization candidates. Then, the code vectors are selected from among the calculated quantization candidates, on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within the range of continuous sub frames in the predetermined number, so that the code vectors of the code book are determined.
Accordingly, when designing the code book corresponding to the method of coding the linear predictive parameters at the predetermined interval of sub frames, the code vectors can be selected while not only the sub frames which are the objects for the quantizing process are optimized but also the sub frames which are the objects for the interpolating process are optimized, and that they are optimized regardless of the forward or backward in time, a highly efficient code book can be designed without a drastic increase of the calculation amount.
In one aspect of the code book designing method of the present invention, the determining process is provided with: a process of calculating distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters for the sub frames respectively; and a process of determining the code vectors so as to minimize an average of the calculated distortions.
According to this aspect, in the determining process, the distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters are calculated for the sub frames respectively. Then, the code vectors are determined so as to minimize the average of the calculated distortions.
Accordingly, the code vectors can be selected so that the distortions can be made small for the sub frames which are the objects for the quantization and for the sub frames which are the objects for the interpolation. Thus, it is possible to design the code book capable of coding the linear predictive parameters with a high fidelity to the input audio and with a high audio quality.
The above object of the present invention can be also achieved by a code book designing apparatus for designing a code book which is a set of code vectors to be selected when linear predictive parameters are vector-quantized as for an input audio which is divided into frames, each of which is further divided into sub frames. The code book designing apparatus is provided with: a calculating device for calculating the linear predictive parameters of the input audio for the sub frames respectively; a quantizing device for calculating a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio as for the sub frames positioned at a predetermined interval set in advance; an interpolating device for calculating interpolation values for the linear predictive parameters on the basis of the calculated quantization candidates as for the sub frames other than the sub frames positioned at the predetermined interval; and a determining device for determining the code vectors of the code book by selecting the code vectors from among the calculated quantization candidates on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within a range of continuous sub frames in a predetermined number set in advance.
According to the code book designing apparatus of the present invention, in the same manner as the above described code book designing method of the present invention, when designing the code book corresponding to the method of coding the linear predictive parameters at the predetermined interval of sub frames, the code vectors can be selected while not only the sub frames which are the objects for the quantizing process are optimized but also the sub frames which are the objects for the interpolating process are optimized, and that they are optimized regardless of the forward or backward in time, a highly efficient code book can be designed without a drastic increase of the calculation amount.
In one aspect of the code book designing apparatus of the present invention, the determining device is provided with: a device for calculating distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters for the sub frames respectively; and a device for determining the code vectors so as to minimize an average of the calculated distortions.
According to this one aspect of the code book designing apparatus of the present invention, in the same manner as the above described one aspect of the code book designing method of the present invention, the code vectors can be selected so that the distortions can be made small for the sub frames which are the objects for the quantization and for the sub frames which are the objects for the interpolation. Thus, it is possible to design the code book capable of coding the linear predictive parameters with a high fidelity to the input audio and with a high audio quality.
The above object of the present invention can be also achieved by a coding method of coding linear predictive parameters, by use of a code book which is a set of code vectors to be selected when the linear predictive parameters are vector-quantized as for an input audio which is divided into frames, each of which is further divided into sub frames. The coding method is provided with: a calculating processes of calculating the linear predictive parameters of the input audio for the sub frames respectively; a quantizing process of calculating a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio as for the sub frames positioned at a predetermined interval set in advance; an interpolating process of calculating interpolation values for the linear predictive parameters on the basis of the calculated quantization candidates as for the sub frames other than the sub frames positioned at the predetermined interval; and a selecting process of selecting the code vectors from among the calculated quantization candidates on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within a range of continuous sub frames in a predetermined number set in advance, and outputting the selected code vectors.
According to the coding method of the present invention, when the input audio (e.g., an actually sampled signal as an audio signal) is inputted, the linear predictive parameters of the input audio is calculated for the sub frames respectively. Then, as for the sub frames positioned at the predetermined interval, a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio are calculated. On the other hand, as for the sub frames other than the sub frames positioned at the predetermined interval, the interpolation values for the linear predictive parameters are calculated on the basis of the calculated quantization candidates. Then, the code vectors are selected from among the calculated quantization candidates, on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within the range of continuous sub frames in the predetermined number, so that the selected code vectors are outputted.
Accordingly, when coding the linear predictive parameters at the predetermined interval of sub frames, the code vectors can be selected while not only the sub frames which are the objects for the quantizing process are optimized but also the sub frames which are the objects for the interpolating process are optimized, and that they are optimized regardless of the forward or backward in time, it becomes possible to perform a highly efficient coding process without a drastic increase of the calculation amount by use of the code book.
In one aspect of the coding method of the present invention, the coding method is further provided with an updating process of updating the code vectors of the code book by the selected code vectors.
According to this aspect, when the code vectors are selected, the code vectors of the code book are updated by the selected code vectors. Thus, the content of the code book for the linear predictive parameters can be upgraded in its quality along with the coding process, so that the coding process for the linear predictive parameters can be optimized automatically along with the coding process by use of the code book.
In another aspect of the coding method of the present invention, the selecting process is provided with: a process of calculating distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters for the sub frames respectively; and a process of selecting the code vectors so as to minimize an average of the calculated distortions.
According to this aspect, in the selecting process, the distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters are calculated for the sub frames respectively. Then, the code vectors are selected so as to minimize the average of the calculated distortions.
Accordingly, the code vectors can be selected so that the distortions can be made small for the sub frames which are the objects for the quantization and for the sub frames which are the objects for the interpolation. Thus, it becomes possible to perform a highly efficient coding process without a drastic increase of the calculation amount by use of the code book.
The above object of the present invention can be also achieved by a coding apparatus for coding linear predictive parameters, by use of a code book which is a set of code vectors to be selected when the linear predictive parameters are vector-quantized as for an input audio which is divided into frames, each of which is further divided into sub frames. The coding apparatus is provided with: a calculating device for calculating the linear predictive parameters of the input audio for the sub frames respectively; a quantizing device for calculating a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio as for the sub frames positioned at a predetermined interval set in advance; an interpolating device for calculating interpolation values for the linear predictive parameters on the basis of the calculated quantization candidates as for the sub frames other than the sub frames positioned at the predetermined interval; and a selecting device for selecting the code vectors from among the calculated quantization candidates on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within a range of continuous sub frames in a predetermined number set in advance, and outputting the selected code vectors.
According to the coding apparatus of the present invention, in the same manner as the above described coding method of the present invention, when coding the linear predictive parameters at the predetermined interval of sub frames, the code vectors can be selected while not only the sub frames which are the objects for the quantizing process are optimized but also the sub frames which are the objects for the interpolating process are optimized, and that they are optimized regardless of the forward or backward in time, it becomes possible to perform a highly efficient coding process without a drastic increase of the calculation amount by use of the code book.
In one aspect of the coding apparatus of the present invention, the coding apparatus is further provided with an updating device for updating the code vectors of the code book by the selected code vectors.
According to this one aspect of the coding apparatus of the present invention, in the same manner as the above described one aspect of the coding method of the present invention, the content of the code book for the linear predictive parameters can be upgraded in its quality along with the coding process, so that the coding process for the linear predictive parameters can be optimized automatically along with the coding process by use of the code book.
In another aspect of the coding apparatus of the present invention, the selecting device is provided with: a device for calculating distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters for the sub frames respectively; and a device for selecting the code vectors so as to minimize an average of the calculated distortions.
According to this another aspect of the coding apparatus of the present invention, in the same manner as the above described another aspect of the coding method of the present invention, it becomes possible to perform a highly efficient coding process without a drastic increase of the calculation amount by use of the code book.
The above object of the present invention can be also achieved by a program storage device readable by a computer for designing a code book, tangibly embodying a program of instructions executable by the computer to perform method processes for designing the code book which is a set of code vectors to be selected when linear predictive parameters are vector-quantized as for an input audio which is divided into frames, each of which is further divided into sub frames. The method processes include: calculating the linear predictive parameters of the input audio for the sub frames respectively; calculating a plurality of quantization candidates which are candidates for the code vectors with respect to the linear predictive parameters of the input audio as for the sub frames positioned at a predetermined interval set in advance; calculating interpolation values for the linear predictive parameters on the basis of the calculated quantization candidates as for the sub frames other than the sub frames positioned at the predetermined interval; and determining the code vectors of the code book by selecting the code vectors from among the calculated quantization candidates on the basis of the calculated quantization candidates, the calculated interpolation values and the calculated linear predictive parameters, within a range of continuous sub frames in a predetermined number set in advance.
Accordingly, the above described code book designing method of the present invention can be performed as the program stored in the program storage device is installed to the computer for designing the code book and the computer executes the installed program.
In one aspect of the program storage device of the present invention, the determining process is provided with: calculating distortions of the calculated quantization candidates and the calculated interpolation values with respect to the calculated linear predictive parameters for the sub frames respectively; and determining the code vectors so as to minimize an average of the calculated distortions.
Accordingly, the above described one aspect of the code book designing method of the present invention can be performed as the program stored in this one aspect of the program storage device is installed to the computer for designing the code book and the computer executes the installed program.
The nature, utility, and further features of this invention will be more clearly apparent from the following detailed description with respect to preferred embodiments of the invention when read in conjunction with the accompanying drawings briefly described below.